home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / ModeProSrc.lha / Daemon / ptDebug.c < prev    next >
C/C++ Source or Header  |  1998-10-18  |  10KB  |  381 lines

  1. #include "mp.h"
  2. #include "patchdata.h"
  3. #include <tagitemmacros.h>
  4.  
  5. #define DEBUG
  6. #include <debug.h>
  7.  
  8. extern struct MPSem *MPSem;
  9.  
  10. UBYTE *FindWinTagString(ULONG id);
  11.  
  12. void PrintTags(struct TagItem *tags)
  13. {
  14.   struct TagItem *tag,*tstate;
  15.   
  16.  
  17.   ProcessTagList(tags,tag,tstate)
  18.   {
  19.     DKP(FindTagString(tag->ti_Tag),tag->ti_Data,tag->ti_Tag);
  20.   }
  21. }
  22.  
  23.  
  24. ULONG TagID[]=
  25. {
  26.   SA_Left,
  27.   SA_Top,
  28.   SA_Width,
  29.   SA_Height,
  30.   SA_Depth,
  31.   SA_DetailPen,
  32.   SA_BlockPen,
  33.   SA_Title,
  34.   SA_Colors,
  35.   SA_ErrorCode,
  36.   SA_Font,
  37.   SA_SysFont,
  38.   SA_Type,
  39.   SA_BitMap,
  40.   SA_PubName,
  41.   SA_PubSig,
  42.   SA_PubTask,
  43.   SA_DisplayID,
  44.   SA_DClip,
  45.   SA_Overscan,
  46.   SA_Obsolete1,
  47.   SA_ShowTitle,
  48.   SA_Behind,
  49.   SA_Quiet,
  50.   SA_AutoScroll,
  51.   SA_Pens,
  52.   SA_FullPalette,
  53.   SA_ColorMapEntries,
  54.   SA_Parent,
  55.   SA_Draggable,
  56.   SA_Exclusive,
  57.   SA_SharePens,
  58.   SA_BackFill,
  59.   SA_Interleaved,
  60.   SA_Colors32,
  61.   SA_VideoControl,
  62.   SA_FrontChild,
  63.   SA_BackChild,
  64.   SA_LikeWorkbench,
  65.   SA_Reserved,
  66.   SA_MinimizeISG,
  67.   SA_ModeProNode,
  68.   0xffffffff,
  69. };
  70.  
  71. UBYTE *TagStrings[]=
  72. {
  73.   "    SA_Left            %11ld\n",
  74.   "    SA_Top             %11ld\n",
  75.   "    SA_Width           %11ld\n",
  76.   "    SA_Height          %11ld\n",
  77.   "    SA_Depth           %11ld\n",
  78.   "    SA_DetailPen       %11ld\n",
  79.   "    SA_BlockPen        %11ld\n",
  80.   "    SA_Title           %s\n",
  81.   "    SA_Colors          0x%08lx\n",
  82.   "    SA_ErrorCode       0x%08lx\n",
  83.   "    SA_Font            0x%08lx\n",
  84.   "    SA_SysFont         %11ld\n",
  85.   "    SA_Type            0x%08lx\n",
  86.   "    SA_BitMap          0x%08lx\n",
  87.   "    SA_PubName         %s\n",
  88.   "    SA_PubSig          0x%08lx\n",
  89.   "    SA_PubTask         0x%08lx\n",
  90.   "    SA_DisplayID       0x%08lx\n",
  91.   "    SA_DClip           0x%08lx\n",
  92.   "    SA_Overscan        %11ld\n",
  93.   "    SA_Obsolete1       %11ld\n",
  94.   "    SA_ShowTitle       %11ld\n",
  95.   "    SA_Behind          %11ld\n",
  96.   "    SA_Quiet           %11ld\n",
  97.   "    SA_AutoScroll      %11ld\n",
  98.   "    SA_Pens            0x%08lx\n",
  99.   "    SA_FullPalette     %11ld\n",
  100.   "    SA_ColorMapEntries %11ld\n",
  101.   "    SA_Parent          0x%08lx\n",
  102.   "    SA_Draggable       %11ld\n",
  103.   "    SA_Exclusive       %11ld\n",
  104.   "    SA_SharePens       %11ld\n",
  105.   "    SA_BackFill        0x%08lx\n",
  106.   "    SA_Interleaved     %11ld\n",
  107.   "    SA_Colors32        0x%08lx\n",
  108.   "    SA_VideoControl    0x%08lx\n",
  109.   "    SA_FrontChild      0x%08lx\n",
  110.   "    SA_BackChild       0x%08lx\n",
  111.   "    SA_LikeWorkbench   %11ld\n",
  112.   "    SA_Reserved        %11ld\n",
  113.   "    SA_MinimizeISG     %11ld\n",
  114.   "    SA_ModeProNode     %11ld  (Hacked Tag)\n",
  115.   "    Unknown Tag        %11ld  (TagID $0x%08lx)\n"
  116. };
  117.  
  118. UBYTE *FindTagString(ULONG id)
  119. {
  120.   ULONG l;
  121.   
  122.   for(l=0;;l++)
  123.   {
  124.     if(TagID[l]==id || TagID[l]==0xffffffff)
  125.       return(TagStrings[l]);
  126.   }
  127.   return(TagStrings[l]);
  128. }
  129.  
  130. STRPTR dbType[]=
  131. {
  132.   "Program Name",
  133.   "Screen Name",
  134.   "Screen Mode",
  135.   "Public Screen"
  136.  
  137. };
  138.  
  139. STRPTR dbModeSelect[]=
  140. {
  141.   "None",
  142.   "Monitor",
  143.   "ScreenMode",
  144.   "Requester",
  145.   "Best Mode"
  146. };
  147.  
  148. void PrintDefNode(struct DefaultNode *DN)
  149. {
  150.   DKP("DefaultNode(0x%08lx) -- ModePro Promotion Node\n",DN);
  151.   DKP("  Node.ln_Name : %s\n",DN->Def_Node.ln_Name);
  152.   DKP("  Type         : %ld %s\n",DN->Type,dbType[DN->Type]);
  153.   DKP("  ModeSelect   : %ld %s\n",DN->ModeSelect,dbModeSelect[DN->ModeSelect]);
  154.   DKP("  ModeID       : 0x%08lx\n",  DN->ModeID);
  155.   DKP("  Width        : %ld\n",   DN->Width);
  156.   DKP("  Height       : %ld\n",   DN->Height);
  157.   DKP("  OverscanType : %ld\n",    DN->OverscanType);
  158.   DKP("  AutoScroll   : %ld\n",   DN->AutoScroll);
  159.   DKP("  Look3D       : %ld\n",   DN->Look3D);
  160.   DKP("  Flags        : 0x%08lx\n",  DN->Flags);
  161.   DKP("  OrigDisplayID: 0x%08lx\n",  DN->OrigDisplayID);
  162. }
  163.  
  164.  
  165. void PrintOverscanInfo(struct PatchData *pd)
  166. {
  167.   if(MPSem->Debug) 
  168.   { 
  169.     if(GetDisplayInfoData(NULL,(UBYTE *)&pd->DimInfo,sizeof(struct DimensionInfo),DTAG_DIMS,pd->ModeID))
  170.     {
  171.       DKP("Overscan Type=%ld\n",pd->OverscanType);
  172.       
  173.       DKP("Text Size : DimInfo.TxtOScan.MinX=%ld  DimInfo.TxtOScan.MaxX=%ld\n",pd->DimInfo.TxtOScan.MinX,pd->DimInfo.TxtOScan.MaxX);
  174.       DKP("            DimInfo.TxtOScan.MinY=%ld  DimInfo.TxtOScan.MaxY=%ld\n",pd->DimInfo.TxtOScan.MinY,pd->DimInfo.TxtOScan.MaxY);
  175.       
  176.       DKP("Graphics Size : DimInfo.StdOScan.MinX=%ld  DimInfo.StdOScan.MaxX=%ld\n",pd->DimInfo.StdOScan.MinX,pd->DimInfo.StdOScan.MaxX);
  177.       DKP("                DimInfo.StdOScan.MinY=%ld  DimInfo.StdOScan.MaxY=%ld\n",pd->DimInfo.StdOScan.MinY,pd->DimInfo.StdOScan.MaxY);
  178.       
  179.       DKP("Extreme Size : DimInfo.VideoOScan.MinX=%ld  DimInfo.VideoOScan.MaxX=%ld\n",pd->DimInfo.VideoOScan.MinX,pd->DimInfo.VideoOScan.MaxX);
  180.       DKP("               DimInfo.VideoOScan.MinY=%ld  DimInfo.VideoOScan.MaxY=%ld\n",pd->DimInfo.VideoOScan.MinY,pd->DimInfo.VideoOScan.MaxY);            
  181.       
  182.       DKP("Maximum Size : DimInfo.MaxOScan.MinX=%ld  DimInfo.MaxOScan.MaxX=%ld\n",pd->DimInfo.MaxOScan.MinX,pd->DimInfo.MaxOScan.MaxX);
  183.       DKP("               DimInfo.MaxOScan.MinY=%ld  DimInfo.MaxOScan.MaxY=%ld\n",pd->DimInfo.MaxOScan.MinY,pd->DimInfo.MaxOScan.MaxY);          
  184.     }
  185.   }
  186. }
  187.  
  188. /*
  189. void PrintPatchData(struct PatchData *PD)
  190. {
  191.   DKP("struct PatchData (0x%08lx)\n",PD);
  192.   DKP("  
  193. }
  194. */
  195.  
  196. void PrintWindowTags(struct TagItem *TagList)//                                                        (4.56.4)
  197. {
  198.   struct TagItem *tag,*tstate;
  199.   
  200.   DKP("  TagList:0x%08lx\n",TagList);
  201.   
  202.   if(TagList)
  203.   {
  204.     ProcessTagList(TagList,tag,tstate)
  205.     {
  206.       DKP(FindWinTagString(tag->ti_Tag),tag->ti_Data,tag->ti_Tag);
  207.     }
  208.   }
  209. }
  210. #include <intuition/intuition.h>
  211.  
  212.  
  213. ULONG WinTagID[]=
  214. {
  215.   WA_Left,
  216.   WA_Top,
  217.   WA_Width        ,
  218.   WA_Height        ,
  219.   WA_DetailPen        ,
  220.   WA_BlockPen        ,
  221.   WA_IDCMP        ,
  222.   WA_Flags        ,
  223.   WA_Gadgets        ,
  224.   WA_Checkmark        ,
  225.   WA_Title        ,
  226.   WA_ScreenTitle        ,
  227.   WA_CustomScreen        ,
  228.   WA_SuperBitMap        ,
  229.   WA_MinWidth        ,
  230.   WA_MinHeight        ,
  231.   WA_MaxWidth        ,
  232.   WA_MaxHeight        ,
  233.   WA_InnerWidth        ,
  234.   WA_InnerHeight        ,
  235.   WA_PubScreenName    ,
  236.   WA_PubScreen        ,
  237.   WA_PubScreenFallBack    ,
  238.   WA_WindowName        ,
  239.   WA_Colors        ,
  240.   WA_Zoom        ,
  241.   WA_MouseQueue        ,
  242.   WA_BackFill        ,
  243.   WA_RptQueue        ,
  244.   WA_SizeGadget        ,
  245.   WA_DragBar        ,
  246.   WA_DepthGadget        ,
  247.   WA_CloseGadget        ,
  248.   WA_Backdrop        ,
  249.   WA_ReportMouse        ,
  250.   WA_NoCareRefresh    ,
  251.   WA_Borderless        ,
  252.   WA_Activate        ,
  253.   WA_RMBTrap        ,
  254.   WA_WBenchWindow        ,
  255.   WA_SimpleRefresh    ,
  256.   WA_SmartRefresh        ,
  257.   WA_SizeBRight        ,
  258.   WA_SizeBBottom        ,
  259.   WA_AutoAdjust        ,
  260.   WA_GimmeZeroZero    ,
  261.   WA_MenuHelp        ,
  262.   WA_NewLookMenus        ,
  263.   WA_AmigaKey        ,
  264.   WA_NotifyDepth        ,
  265.   
  266.   WA_Pointer        ,
  267.   WA_BusyPointer        ,
  268.   WA_PointerDelay        ,
  269.   WA_TabletMessages    ,
  270.   WA_HelpGroup        ,
  271.   WA_HelpGroupWindow    ,
  272.   0xffffffff
  273. };  
  274.  
  275. STRPTR WinTagStrings[]=
  276. {
  277.   "    WA_Left              %11ld\n",
  278.   "    WA_Top               %11ld\n",
  279.   "    WA_Width             %11ld\n",
  280.   "    WA_Height            %11ld\n",
  281.   "    WA_DetailPen         %11ld\n",
  282.   "    WA_BlockPen          %11ld\n",
  283.   "    WA_IDCMP             0x%08lx\n",
  284.   "    WA_Flags             0x%08lx\n",
  285.   "    WA_Gadgets           0x%08lx\n",
  286.   "    WA_Checkmark         0x%08lx\n",
  287.   "    WA_Title             %s\n",
  288.   "    WA_ScreenTitle       %s\n",
  289.   "    WA_CustomScreen      0x%08lx\n",
  290.   "    WA_SuperBitMap       0x%08lx\n",
  291.   "    WA_MinWidth          %11ld\n",
  292.   "    WA_MinHeight         %11ld\n",
  293.   "    WA_MaxWidth          %11ld\n",
  294.   "    WA_MaxHeight         %11ld\n",
  295.   "    WA_InnerWidth        %11ld\n",
  296.   "    WA_InnerHeight       %11ld\n",
  297.   "    WA_PubScreenName     %s\n",
  298.   "    WA_PubScreen         0x%08lx\n",
  299.   "    WA_PubScreenFallBack %11ld\n",
  300.   "    WA_WindowName        %s\n",
  301.   "    WA_Colors            %11ld\n",
  302.   "    WA_Zoom              0x%08lx\n",
  303.   "    WA_MouseQueue        %11ld\n",
  304.   "    WA_BackFill          0x%08lx\n",
  305.   "    WA_RptQueue          %11ld\n",
  306.   "    WA_SizeGadget        %11ld\n",
  307.   "    WA_DragBar           %11ld\n",
  308.   "    WA_DepthGadget       %11ld\n",
  309.   "    WA_CloseGadget       %11ld\n",
  310.   "    WA_Backdrop          %11ld\n",
  311.   "    WA_ReportMouse       %11ld\n",
  312.   "    WA_NoCareRefresh        %11ld\n",
  313.   "    WA_Borderless        %11ld\n",
  314.   "    WA_Activate          %11ld\n",
  315.   "    WA_RMBTrap           %11ld\n",
  316.   "    WA_WBenchWindow      %11ld\n",
  317.   "    WA_SimpleRefresh     %11ld\n",
  318.   "    WA_SmartRefresh      %11ld\n",
  319.   "    WA_SizeBRight        %11ld\n",
  320.   "    WA_SizeBBottom       %11ld\n",
  321.   "    WA_AutoAdjust        %11ld\n",
  322.   "    WA_GimmeZeroZero       %11ld\n",
  323.   "    WA_MenuHelp          %11ld\n",
  324.   "    WA_NewLookMenus      %11ld\n",
  325.   "    WA_AmigaKey          0x%08lx\n",
  326.   "    WA_NotifyDepth       %11ld\n",
  327.   "    WA_Pointer           0x%08lx\n",
  328.   "    WA_BusyPointer       0x%08lx\n",
  329.   "    WA_PointerDelay      %11ld\n",
  330.   "    WA_TabletMessages    %11ld\n",
  331.   "    WA_HelpGroup         %11ld\n",
  332.   "    WA_HelpGroupWindow   0x%08lx\n",
  333.   "    Unknown Tag          %11ld  (TagID $0x%08lx)\n"
  334. };  
  335.  
  336.  
  337. UBYTE *FindWinTagString(ULONG id)
  338. {
  339.   ULONG l;
  340.   
  341.   for(l=0;;l++)
  342.   {
  343.     if(WinTagID[l]==id || WinTagID[l]==0xffffffff)
  344.       return(WinTagStrings[l]);
  345.   }
  346.   return(TagStrings[l]);
  347. }
  348.  
  349.  
  350. void PrintNewWindowData(struct ExtNewWindow *nw)//                                                     (4.56.3)
  351. {
  352.   DKP("  NewWindow:0x%08lx\n",nw);
  353.   if(nw)
  354.   {
  355.  
  356.     DKP("    LeftEdge     %11ld    TopEdge    %11ld\n", nw->LeftEdge,       nw->TopEdge);
  357.     DKP("    Width        %11ld    Height     %11ld\n", nw->Width,          nw->Height);
  358.     DKP("    DetailPen    %11ld    BlockPen   %11ld\n", nw->DetailPen,      nw->BlockPen);
  359.     DKP("    IDCMPFlags   0x%08lx\n", nw->IDCMPFlags);
  360.     DKP("    Flags        0x%08lx\n", nw->Flags);
  361.     DKP("    FirstGadget  0x%08lx\n", nw->FirstGadget);
  362.   
  363.     DKP("    CheckMark    0x%08lx\n", nw->CheckMark);
  364.   
  365.     DKP("    Title        %s\n", nw->Title); 
  366.     DKP("    Screen       0x%08lx\n",nw->Screen);
  367.     DKP("    BitMap       0x%08lx\n",nw->BitMap);
  368.   
  369.     DKP("    MinWidth     %11ld    MinHeight  %11ld\n", nw->MinWidth, nw->MinHeight);
  370.     DKP("    MaxWidth     %11ld    MaxHeight  %11ld\n", nw->MaxWidth, nw->MaxHeight); 
  371.   
  372.     DKP("    Type         %11ld\n", nw->Type);
  373.  
  374.     if(nw->Flags & WFLG_NW_EXTENDED)
  375.     {  
  376.       DKP("  Extension    0x%08lx\n", nw->Extension);
  377.       PrintWindowTags(nw->Extension);
  378.     }
  379.   } 
  380. }
  381.